FFmpeg Notes

Streaming AVI

Some AVI files are detected as being non-interleaved.  This commit introduced additional detection for non-interleaved, but broke streaming of the non-interleaved AVI files.

http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8df774be88c347c40f1b2411ed9e391dfec0ebb7

Fix by doing original return logic to avoid new detection logic

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index a70a011..ffca3f9 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -1338,6 +1338,7 @@ static int guess_ni_flag(AVFormatContext *s){
             first_end= st->index_entries[n-1].pos;
     }
     avio_seek(s->pb, oldpos, SEEK_SET);
+return last_start > first_end;
     if (last_start > first_end)
         return 1;
     idx= av_mallocz(sizeof(*idx) * s->nb_streams);
     
     
===========================================================================================================
===========================================================================================================
     
#!/bin/sh

ARCHITECTURE=armv7
CPU=cortex-a8

SDKPATH=`xcodebuild -version -sdk iphoneos | grep "^Path:" | awk -F": " '{print $2}'`
PLATFORMPATH=`xcodebuild -version -sdk iphoneos | grep "^PlatformPath:" | awk -F": " '{print $2}'`

SRCROOT=.
CONFIGURE_FLAGS=

# --prefix=$SRCROOT/$ARCHITECTURE \
# --prefix=/usr/local/ios \

./configure \
--enable-cross-compile \
--cross-prefix=${PLATFORMPATH}/Developer/usr/bin/ \
--cc=${PLATFORMPATH}/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2 \
--as="/usr/local/bin/gas-preprocessor.pl ${PLATFORMPATH}/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2" \
--sysroot=$SDKPATH \
--arch=arm \
--cpu=$CPU \
--target-os=darwin \
--extra-cflags="-w -O3 -march=armv7 -mfloat-abi=softfp -mfpu=neon -mcpu=cortex-a8 -miphoneos-version-min=5.0 -isysroot ${SDKPATH}" \
--extra-ldflags="-isysroot ${SDKPATH} -L/usr/local/ios/lib" \
--prefix=$SRCROOT/$ARCHITECTURE \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffserver \
--disable-ffprobe \
--disable-encoders \
--disable-muxers \
--disable-filters \
--disable-bsfs \
--disable-indevs \
--disable-zlib \
--disable-bzlib \
--disable-debug \
--disable-doc \
--disable-armv5te \
--disable-armv6 \
--disable-armv6t2 \
--disable-armvfp \
--enable-neon \
--enable-pic \
--enable-optimizations \
--enable-pthreads \
--enable-swscale \
$CONFIGURE_FLAGS

